Generally, the optimal bitrate at which to deliver a video stream to a subscriber will vary according to many different factors (e.g., the type of device requesting the video stream, the amount of bandwidth the subscriber has at a certain time, and others). Multiple bitrate (MBR) encoding is used for delivering video over Internet protocol (IP) networks. Typically, in MBR encoding, a single input stream (e.g., video stream) is ingested by an encoding device, and the ingested video is encoded into multiple output streams, each at different resolutions, bitrates, and/or frame rates.
With the advent of video streaming on the Internet, potential viewers of a program can use their Internet connection to view live or recorded video programs. Due to the variability in the download speed of Internet connections, suppliers of Internet based video programming encode the video content at multiple bitrates to provide uninterrupted viewing for low or fluctuating Internet access speeds.
Video encoding and compression techniques in digital video compression standards (e.g., MPEG-2, H.264, HEVC, etc.) generally involve removing redundant information from a video data stream and making compromises in picture details in order to save bandwidth. The compromises are typically optimized to have minimal perceptual impact. In particular, the Quantization Parameter (QP) regulates how much spatial detail is encoded or abandoned, and consequently the perceptual quality in an encoded picture. The lower the encoding QP value, the higher the level of detail preserved in the encoded picture at the cost of a higher bitrate. As QP parameter is increased, the picture details are aggregated to simplify encoding and decrease the bitrate requirement to compress video.
MBR encoding is generally achieved by encoding the same video program at multiple lower bitrates by lowering the output target CBR bitrate, reducing picture resolution, and possibly reducing video frame rate to achieve the lower bitrate sub-streams. Typically, video is encoded at 4 to 8 different CBR bitrates that have a fixed resolution and frame rate. Encoded video streams are synchronous and are encoded in chunks, or fragments, to provide suitable switch points to another bitrate. The synchronous video fragments in the sub-streams are typically 2 to 10 seconds in duration.
Providing multiple output streams for a single piece of content can consume large amounts of bandwidth and storage and can also negatively affect the quality of the delivered content. Therefore, it is desirable to improve upon the methods and systems for video compression in multiple bitrate video encoding.
Like reference numbers and designations in the various drawings indicate like elements.